var ces = $.extend({}, ces);/* 全局对象 */
var formId='formId';
var formAction='/';
var rowid="";//选中行记录
 ces.gridDefault=function (){
	return {
		 showToolbar: true,
		 toolbarItem: 'add,refresh,del,',
		 delPK:'ID',
		 local:'remote',
		 hiddenFields:"ID",
		 loadType:'post',
		 filterAll:true,//必须设置filter 才能过滤远程数据
		 showEditbtnscol: true,
		 inlineEditMult: true,
		 contextMenuB: true,
		 contextmenuH:true,
		 filterThead:true,
		 columnMenu:true,
		 showCheckboxcol:true,
		 columnShowhide:true,
		 columnFilter:false
}
}
//var callback='reloadList';
ces.basePath = function() {
	var curWwwPath = window.document.location.href;
	var pathName = window.document.location.pathname;
	var pos = curWwwPath.indexOf(pathName);
	var localhostPaht = curWwwPath.substring(0, pos);
	var projectName = pathName.substring(0, pathName.substr(1).indexOf('/') + 1);
	return (localhostPaht + projectName);
};
var ctxPath=ces.basePath();
ces.ajaxPost=function (url,data,callback){
	$.post(url,data,function(msg){
		if(null!=callback&&''!=callback&&callback!=undefined)
		callback(msg);
	});
};
/**
 *弹模态框,异步加载数据
 *url 请求路径;showId要弹出的div ;showBody 数据填充到什么地方
 **/
ces.showAjaxModal=function(url,showId,showBody,title)
{
	$('#'+showId).modal('show', {backdrop: 'static'});
	
	$.ajax({
		async: false,
		cache: false,
		url:url,
		success: function(response)
		{
			$('#modal-title').text(title);
			$('#' +showId+' .'+showBody).html(response);
			
		}
	});
};
ces.closeAjaxModal=function(){
	if(arguments.length==0)	{
		
		$('.modal-body').html('');
		$('#modalId').modal('hide');
		
	}else if(arguments.length==1){
		
		$('.modal-body').html('');
		$('#'+arguments[0]).modal('hide');
		
	}else if(arguments.length==2){
		
		$('.'+arguments[1]).html('');
		$('#'+arguments[0]).modal('hide');
		
	}else{
		alert('无法解析方法参数!');
	}
	
};
ces.ajaxForm=function(){
	var callback='';
	if(arguments.length==1){
		formId=arguments[0];
		formAction=$('#'+formId).attr('action');
		callback='reloadList';
		}else if(arguments.length==2){
		formId=arguments[0];
		formAction=arguments[1];
		callback='reloadList';
	}else if(arguments.length==2){
		formId=arguments[0];
		formAction=arguments[1];
		callback=arguments[2];
	}else{
		alert('无法解析参数个数!'+arguments.length);
		return;
	}
	$.ajax({
		type : "post",
		url : encodeURI(encodeURI(ctxPath + formAction)),
		data : $("#"+formId).serialize(),
		dataType : "html",
		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
		async: false,
		cache: false,
		success:function(result){
			result=$.parseJSON(result);
			if(result.status){
				alert("操作成功!");
				ces.closeAjaxModal();
				callback();
			}else{
				alert(result.msg);
			}
			//$('#modalId .modal-body').html(returnData);
			//ces.closeAjaxModal('modalId');
			//$("#content").html(returnData);
			//扩展回调函数
//			if( callback != null ){
//			 ajaxContent(callback);
//			}
			
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) { 
			// 这个方法有三个参数：XMLHttpRequest 对象，错误信息，（可能）捕获的错误对象。
			// 通常情况下textStatus和errorThown只有其中一个有值
            // alert(XMLHttpRequest.status);
            // alert(XMLHttpRequest.readyState);
            // alert(textStatus);
			alert("请求出现错误！");
        },
        complete: function(XMLHttpRequest, textStatus) { 
        	// 请求完成后回调函数 (请求成功或失败时均调用)。参数： XMLHttpRequest 对象，成功信息字符串。
            // 调用本次AJAX请求时传递的options参数
	    	$('#loading').remove();
			$('#content').fadeIn();
			//docReady();
        }
	});
};
ces.ajaxContent=function (url, data, callback){
	$('#content').fadeOut().parent().append('<div id="loading" class="center">Loading...<div class="center"></div></div>');
	
	$.ajax({
		type : "post",
		url : encodeURI(encodeURI(ctxPath + url)),
		data : data,
		dataType : "html",
		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
		async: false,
		cache: false,
		success:function(returnData){
			$("#content").html(returnData);
			//扩展回调函数
			
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) { 
			// 这个方法有三个参数：XMLHttpRequest 对象，错误信息，（可能）捕获的错误对象。
			// 通常情况下textStatus和errorThown只有其中一个有值
            // alert(XMLHttpRequest.status);
            // alert(XMLHttpRequest.readyState);
            // alert(textStatus);
			alert("请求出现错误！");
        },
        complete: function(XMLHttpRequest, textStatus) { 
        	// 请求完成后回调函数 (请求成功或失败时均调用)。参数： XMLHttpRequest 对象，成功信息字符串。
            // 调用本次AJAX请求时传递的options参数
	    	$('#loading').remove();
			$('#content').fadeIn();
			//docReady();
        }
	});
 
};
ces.ajaxLoad=function(url,data,callback){
	
	$.ajax({
		type : "post",
		url : encodeURI(encodeURI(ctxPath + url)),
		data : data,
		dataType : "json",
		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
		async: false,
		cache: false,
		success:function(json){
			if(callback)
			{  return callback(json);}
			else if(json.statusCode==BJUI.statusCode.ok){
			$(window).alertmsg("ok", data.id)
				
			}else if(json.statusCode==BJUI.statusCode.error){
				$(window).alertmsg("error", data.id)
			}else if(json.statusCode==BJUI.statusCode.timeout)
			{
				$(window).alertmsg("timeout","请求超时")
			}
		},
		error: function(XMLHttpRequest, textStatus, errorThrown) { 
			
			alert(errorThrown);
        }
        
	});
	
};

ces.initGrid=function (grid,options){
	var newOption=$.extend({},ces.gridDefault(),options,{ afterDelete:function (){
    	$('#'+grid).datagrid('refresh');
      },afterSave:function (){
    	$('#'+grid).datagrid('refresh');
      }});
	$('#'+grid).datagrid(newOption);
};
ces.refreshGrid=function (grid){
	$('#'+grid).datagrid('refresh');
}